﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x020001B7 RID: 439
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class ChallengeBossRelicInfo : IMessage<ChallengeBossRelicInfo>, IMessage, IEquatable<ChallengeBossRelicInfo>, IDeepCloneable<ChallengeBossRelicInfo>, IBufferMessage
	{
		// Token: 0x170005CE RID: 1486
		// (get) Token: 0x060013DD RID: 5085 RVA: 0x00038F17 File Offset: 0x00037117
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<ChallengeBossRelicInfo> Parser
		{
			get
			{
				return ChallengeBossRelicInfo._parser;
			}
		}

		// Token: 0x170005CF RID: 1487
		// (get) Token: 0x060013DE RID: 5086 RVA: 0x00038F1E File Offset: 0x0003711E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return ChallengeBossRelicInfoReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x170005D0 RID: 1488
		// (get) Token: 0x060013DF RID: 5087 RVA: 0x00038F30 File Offset: 0x00037130
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return ChallengeBossRelicInfo.Descriptor;
			}
		}

		// Token: 0x060013E0 RID: 5088 RVA: 0x00038F37 File Offset: 0x00037137
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ChallengeBossRelicInfo()
		{
		}

		// Token: 0x060013E1 RID: 5089 RVA: 0x00038F4C File Offset: 0x0003714C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ChallengeBossRelicInfo(ChallengeBossRelicInfo other) : this()
		{
			this.tid_ = other.tid_;
			this.level_ = other.level_;
			this.uniqueId_ = other.uniqueId_;
			this.subAffixList_ = other.subAffixList_.Clone();
			this.mainAffixId_ = other.mainAffixId_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x060013E2 RID: 5090 RVA: 0x00038FB1 File Offset: 0x000371B1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ChallengeBossRelicInfo Clone()
		{
			return new ChallengeBossRelicInfo(this);
		}

		// Token: 0x170005D1 RID: 1489
		// (get) Token: 0x060013E3 RID: 5091 RVA: 0x00038FB9 File Offset: 0x000371B9
		// (set) Token: 0x060013E4 RID: 5092 RVA: 0x00038FC1 File Offset: 0x000371C1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Tid
		{
			get
			{
				return this.tid_;
			}
			set
			{
				this.tid_ = value;
			}
		}

		// Token: 0x170005D2 RID: 1490
		// (get) Token: 0x060013E5 RID: 5093 RVA: 0x00038FCA File Offset: 0x000371CA
		// (set) Token: 0x060013E6 RID: 5094 RVA: 0x00038FD2 File Offset: 0x000371D2
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Level
		{
			get
			{
				return this.level_;
			}
			set
			{
				this.level_ = value;
			}
		}

		// Token: 0x170005D3 RID: 1491
		// (get) Token: 0x060013E7 RID: 5095 RVA: 0x00038FDB File Offset: 0x000371DB
		// (set) Token: 0x060013E8 RID: 5096 RVA: 0x00038FE3 File Offset: 0x000371E3
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint UniqueId
		{
			get
			{
				return this.uniqueId_;
			}
			set
			{
				this.uniqueId_ = value;
			}
		}

		// Token: 0x170005D4 RID: 1492
		// (get) Token: 0x060013E9 RID: 5097 RVA: 0x00038FEC File Offset: 0x000371EC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<RelicAffix> SubAffixList
		{
			get
			{
				return this.subAffixList_;
			}
		}

		// Token: 0x170005D5 RID: 1493
		// (get) Token: 0x060013EA RID: 5098 RVA: 0x00038FF4 File Offset: 0x000371F4
		// (set) Token: 0x060013EB RID: 5099 RVA: 0x00038FFC File Offset: 0x000371FC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint MainAffixId
		{
			get
			{
				return this.mainAffixId_;
			}
			set
			{
				this.mainAffixId_ = value;
			}
		}

		// Token: 0x060013EC RID: 5100 RVA: 0x00039005 File Offset: 0x00037205
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as ChallengeBossRelicInfo);
		}

		// Token: 0x060013ED RID: 5101 RVA: 0x00039014 File Offset: 0x00037214
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(ChallengeBossRelicInfo other)
		{
			return other != null && (other == this || (this.Tid == other.Tid && this.Level == other.Level && this.UniqueId == other.UniqueId && this.subAffixList_.Equals(other.subAffixList_) && this.MainAffixId == other.MainAffixId && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x060013EE RID: 5102 RVA: 0x00039094 File Offset: 0x00037294
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.Tid != 0U)
			{
				num ^= this.Tid.GetHashCode();
			}
			if (this.Level != 0U)
			{
				num ^= this.Level.GetHashCode();
			}
			if (this.UniqueId != 0U)
			{
				num ^= this.UniqueId.GetHashCode();
			}
			num ^= this.subAffixList_.GetHashCode();
			if (this.MainAffixId != 0U)
			{
				num ^= this.MainAffixId.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x060013EF RID: 5103 RVA: 0x0003912C File Offset: 0x0003732C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x060013F0 RID: 5104 RVA: 0x00039134 File Offset: 0x00037334
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x060013F1 RID: 5105 RVA: 0x00039140 File Offset: 0x00037340
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.Tid != 0U)
			{
				output.WriteRawTag(8);
				output.WriteUInt32(this.Tid);
			}
			this.subAffixList_.WriteTo(ref output, ChallengeBossRelicInfo._repeated_subAffixList_codec);
			if (this.Level != 0U)
			{
				output.WriteRawTag(72);
				output.WriteUInt32(this.Level);
			}
			if (this.MainAffixId != 0U)
			{
				output.WriteRawTag(96);
				output.WriteUInt32(this.MainAffixId);
			}
			if (this.UniqueId != 0U)
			{
				output.WriteRawTag(112);
				output.WriteUInt32(this.UniqueId);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x060013F2 RID: 5106 RVA: 0x000391E4 File Offset: 0x000373E4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.Tid != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Tid);
			}
			if (this.Level != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Level);
			}
			if (this.UniqueId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.UniqueId);
			}
			num += this.subAffixList_.CalculateSize(ChallengeBossRelicInfo._repeated_subAffixList_codec);
			if (this.MainAffixId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.MainAffixId);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x060013F3 RID: 5107 RVA: 0x00039280 File Offset: 0x00037480
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(ChallengeBossRelicInfo other)
		{
			if (other == null)
			{
				return;
			}
			if (other.Tid != 0U)
			{
				this.Tid = other.Tid;
			}
			if (other.Level != 0U)
			{
				this.Level = other.Level;
			}
			if (other.UniqueId != 0U)
			{
				this.UniqueId = other.UniqueId;
			}
			this.subAffixList_.Add(other.subAffixList_);
			if (other.MainAffixId != 0U)
			{
				this.MainAffixId = other.MainAffixId;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x060013F4 RID: 5108 RVA: 0x00039309 File Offset: 0x00037509
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x060013F5 RID: 5109 RVA: 0x00039314 File Offset: 0x00037514
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 34U)
				{
					if (num == 8U)
					{
						this.Tid = input.ReadUInt32();
						continue;
					}
					if (num == 34U)
					{
						this.subAffixList_.AddEntriesFrom(ref input, ChallengeBossRelicInfo._repeated_subAffixList_codec);
						continue;
					}
				}
				else
				{
					if (num == 72U)
					{
						this.Level = input.ReadUInt32();
						continue;
					}
					if (num == 96U)
					{
						this.MainAffixId = input.ReadUInt32();
						continue;
					}
					if (num == 112U)
					{
						this.UniqueId = input.ReadUInt32();
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x0400083C RID: 2108
		private static readonly MessageParser<ChallengeBossRelicInfo> _parser = new MessageParser<ChallengeBossRelicInfo>(() => new ChallengeBossRelicInfo());

		// Token: 0x0400083D RID: 2109
		private UnknownFieldSet _unknownFields;

		// Token: 0x0400083E RID: 2110
		public const int TidFieldNumber = 1;

		// Token: 0x0400083F RID: 2111
		private uint tid_;

		// Token: 0x04000840 RID: 2112
		public const int LevelFieldNumber = 9;

		// Token: 0x04000841 RID: 2113
		private uint level_;

		// Token: 0x04000842 RID: 2114
		public const int UniqueIdFieldNumber = 14;

		// Token: 0x04000843 RID: 2115
		private uint uniqueId_;

		// Token: 0x04000844 RID: 2116
		public const int SubAffixListFieldNumber = 4;

		// Token: 0x04000845 RID: 2117
		private static readonly FieldCodec<RelicAffix> _repeated_subAffixList_codec = FieldCodec.ForMessage<RelicAffix>(34U, RelicAffix.Parser);

		// Token: 0x04000846 RID: 2118
		private readonly RepeatedField<RelicAffix> subAffixList_ = new RepeatedField<RelicAffix>();

		// Token: 0x04000847 RID: 2119
		public const int MainAffixIdFieldNumber = 12;

		// Token: 0x04000848 RID: 2120
		private uint mainAffixId_;
	}
}
